home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / linux / route.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  2KB  |  69 lines

  1. /*
  2.  * INET        An implementation of the TCP/IP protocol suite for the LINUX
  3.  *        operating system.  INET is implemented using the  BSD Socket
  4.  *        interface as the means of communication with the user level.
  5.  *
  6.  *        Global definitions for the IP router interface.
  7.  *
  8.  * Version:    @(#)route.h    1.0.3    05/27/93
  9.  *
  10.  * Authors:    Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
  11.  *        for the purposes of compatibility only.
  12.  *
  13.  *        Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  14.  *
  15.  * Changes:
  16.  *              Mike McLagan    :       Routing by source
  17.  *
  18.  *        This program is free software; you can redistribute it and/or
  19.  *        modify it under the terms of the GNU General Public License
  20.  *        as published by the Free Software Foundation; either version
  21.  *        2 of the License, or (at your option) any later version.
  22.  */
  23. #ifndef _LINUX_ROUTE_H
  24. #define _LINUX_ROUTE_H
  25.  
  26. #include <linux/if.h>
  27.  
  28.  
  29. /* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
  30. struct rtentry 
  31. {
  32.     unsigned long    rt_pad1;
  33.     struct sockaddr    rt_dst;        /* target address        */
  34.     struct sockaddr    rt_gateway;    /* gateway addr (RTF_GATEWAY)    */
  35.     struct sockaddr    rt_genmask;    /* target network mask (IP)    */
  36.     unsigned short    rt_flags;
  37.     short        rt_pad2;
  38.     unsigned long    rt_pad3;
  39.     void        *rt_pad4;
  40.     short        rt_metric;    /* +1 for binary compatibility!    */
  41.     char *rt_dev;    /* forcing the device at add    */
  42.     unsigned long    rt_mtu;        /* per route MTU/Window     */
  43. #define rt_mss    rt_mtu            /* Compatibility :-(            */
  44.     unsigned long    rt_window;    /* Window clamping         */
  45.     unsigned short    rt_irtt;    /* Initial RTT            */
  46. };
  47.  
  48.  
  49. #define    RTF_UP        0x0001        /* route usable              */
  50. #define    RTF_GATEWAY    0x0002        /* destination is a gateway    */
  51. #define    RTF_HOST    0x0004        /* host entry (net otherwise)    */
  52. #define RTF_REINSTATE    0x0008        /* reinstate route after tmout    */
  53. #define    RTF_DYNAMIC    0x0010        /* created dyn. (by redirect)    */
  54. #define    RTF_MODIFIED    0x0020        /* modified dyn. (by redirect)    */
  55. #define RTF_MTU        0x0040        /* specific MTU for this route    */
  56. #define RTF_MSS        RTF_MTU        /* Compatibility :-(        */
  57. #define RTF_WINDOW    0x0080        /* per route window clamping    */
  58. #define RTF_IRTT    0x0100        /* Initial round trip time    */
  59. #define RTF_REJECT    0x0200        /* Reject route            */
  60.  
  61. /*
  62.  *    <linux/ipv6_route.h> uses RTF values >= 64k
  63.  */
  64.  
  65.  
  66.  
  67. #endif    /* _LINUX_ROUTE_H */
  68.  
  69.